﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ZK.Models
{
    /// <summary>
    /// 菱声转语音的模型
    /// </summary>
    public class LSwzzyybfM
    {

        public class devPlayStopReq : baseParams
        {
            public devPlayStopReq()
            {
                params1 = new devPlayStopReqC();
            }
            [JsonProperty("params")]
            public devPlayStopReqC params1
            {
                get; set;
            }

        }

        public class playMusicReq :baseParams
        {
            public playMusicReq()
            {
                params1 = new playMusicReqC();
            }
            [JsonProperty("params")]
            public playMusicReqC params1
            {
                get; set;
            }

        }
        public class playMusicRes
        {
            public string app
            {
                get; set;
            }
            public string callid
            {
                get; set;
            }

            public string type
            {
                get; set;
            }
            [JsonProperty("params")]
            public playMusicResC params1
            {
                get; set;
            }
        }
        public class playMusicResC
        {
            public string result
            {
                get; set;
            }

        }


        public class devPlayStopReqC
        {

            //用户id
            public string uid
            {
                get; set;
            }
            //设备的sn
            public string[] devices
            {
                get; set;
            }
           

        }

        public class playMusicReqC
        {
            //用户id
            public string uid
            {
                get; set;
            }
            //任务名称
            public string name
            {
                get; set;
            }

            public int type
            {
                get; set;
            }
            //设备的sn
            public string[] devices
            {
                get; set;
            }
            //级别，不知道啥意思
            public int level
            {
                get; set;
            }
            //播放时长
            public string leng
            {
                get; set;
            }
            //播放次数
            public int count
            {
                get; set;
            }
            //声音
            public int vol
            {
                get; set;
            }
            public List<fileUrl> urls
            {
                get; set;
            }

        }
        public class fileUrl
        
        {
            public string name
            {
                get; set;
            }
            public string uri
            {
                get; set;
            }
        }
        public class tts_xfRes
        {
            public string result
            {
                get; set;
            }
            public string url
            {
                get; set;
            }
            public string text
            {
                get; set;
            }

        }

        public class tts_xf
        {
            public string text
            {
                get; set;
            }
            public string voice_name
            {
                get; set;
            }
            public string speed
            {
                get; set;
            }
            public string volume
            {
                get; set;
            }
            public string origin
            {
                get; set;
            }
        }
        /// <summary>
        /// 设备信息
        /// </summary>
        public class device
        {
            public string ip
            {
                get; set;
            }
            public string level
            {
                get; set;
            }
            public string mute
            {
                get; set;
            }
            public string name
            {
                get; set;
            }
            public string num
            {
                get; set;
            }
            public string sid
            {
                get; set;
            }
            public string size
            {
                get; set;
            }
            public string sn
            {
                get; set;
            }
            public string status
            {
                get; set;
            }
            public string type
            {
                get; set;
            }
            public string version
            {
                get; set;
            }
            public string vol
            {
                get; set;
            }
        }
        public class loginParams
        {
            public string name
            {
                get; set;
            }
            public string password
            {
                get; set;
            }
            public string vender
            {
                get; set;
            }
        }
        public class baseParams
        {
            public string type
            {
                get; set;
            }
            public string app
            {
                get; set;
            }
            public string op
            {
                get; set;
            }
        }
        public class loginReq : baseParams
        {
            public loginReq()
            {
                params1 = new loginParams();
            }
            [JsonProperty("params")]
            public loginParams params1
            {
                get; set;
            }
        }
        public class getAllDevicesReqC
        {
            public string uid
            {
                get; set;
            }
        }
        public class getAllDevicesRes : baseParams
        {
            public getAllDevicesRes()
            {
                params1 = new getAllDevicesResC();
            }
            [JsonProperty("params")]
            public getAllDevicesResC params1
            {
                get; set;
            }
        }
        public class getAllDevicesResC
        {
            public List<device> devices
            {
                get; set;
            }
            public string result
            {
                get; set;
            }
        }
        public class getAllDevicesReq : baseParams
        {
            public getAllDevicesReq()
            {
                params1 = new getAllDevicesReqC();
            }

            [JsonProperty("params")]
            public getAllDevicesReqC params1
            {
                get; set;
            }
        }

        public class loginRes : baseParams
        {
           
            [JsonProperty("params")]
            public loginParamsRes params1
            {
                get; set;
            }
        }
        public class loginParamsRes
        {
            public string result
            {
                get; set;
            }
            public string type
            {
                get; set;
            }
            public string uid
            {
                get; set;
            }
        }
    }
}
